Program Slicing using Functional Networks
نویسنده
چکیده
Program slicing is a technique for identifying a subprogram from an original program. The subprogram, called a slice, is an executable program which maintains the eeect of the original upon a chosen set of variables at some point within the Control Flow Graph (CFG) of the original. The variable set, CFG node pair is called the slicing criterion. Slices nd applications in debugging, testing, parallelisation, re-use, code measurement and program comprehension. These applications exploit the way in which slicing preserves a projection of the original program's semantics, allowing, in some cases, for considerable syntactic simpliication. The paper introduces an approach to the computation of a slightly more general form of a slice, called a simultaneous slice. A simultaneous slice is constructed with respect to a set of conventional slicing criteria. The approach introduced here uses a functional implementation of a network of communicating processes, each process corresponding to a CFG node and each message corresponding to either a variable name or a node identiier.
منابع مشابه
Using Program Slicing Technique to Reduce the Cost of Software Testing
Systems of computers and their application in the lives of modern human beings are vastly expanding. In any kind of computer application, failure in computer systems can lead to a range of financial and mortal losses. Indeed, the major origin of software failure can be located in designing or implementing software. With regard to these statistics, 30% of the software projects have been prospero...
متن کاملEfficient Program Slicing Algorithms for Measuring Functional Cohesion and Parallelism
Program slicing is the task of finding all statements in a program that directly or indirectly influence the value of a variable occurrence. The set of statements that can affect the value of a variable at some point in a program is called a program slice. In several software engineering applications, such as program debugging and measuring program cohesion and parallelism, several slices are c...
متن کاملProgram Specialization via Program Slicing
This paper concerns the use of program slicing to perform a certain kind of program-specialization operation. We show that the specialization operation that slicing performs is different from the specialization operations performed by algorithms for partial evaluation, supercompilation, bifurcation, and deforestation. To study the relationship between slicing and these operations in a simplifie...
متن کاملSlicing Functional Programs by Calculation
Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually targeting either the imperative or the object oriented paradigms, are based on some sort of gra...
متن کاملProgram Slicing by Calculation
Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually oriented towards the imperative or object paradigms, are based on some sort of graph structure ...
متن کامل